import axios from 'axios'
import ElementUI from "element-ui";

const request = axios.create({
  baseURL: 'http://localhost:9090',
  timeout: 5000
})

//request拦截器
//可以在请求发送前对请求做一些处理
//比如统一加token,对请求参数统一加密

// let user = localStorage.getItem("user") ? JSON.parse(localStorage.getItem("user")) : null
request.interceptors.request.use(config=>{
  config.headers['Content-Type'] = 'application/json;charset=utf-8';

  /*if(user){
    //设置请求头
    config.headers['token'] = user.token;
  }*/

  return config
},error => {
  return Promise.reject(error)
});

//response拦截器
//可以在接口响应后统一处理结果
request.interceptors.response.use(
  response => {
    let res = response.data;
    //如果是返回的文件
    if (response.config.responseType === 'blob'){
      return res
    }
    //兼容服务端返回的字符串数据
    if(typeof res === 'string'){
      res = res ? JSON.parse(res) : res
    }
    //当权限验证不通过的时候给出提示
    if(res.code === '401'){
      ElementUI.Message({
        message: res.msg,
        type: 'error'
      });
    }
    return res;
  },
  error => {
    console.log('err' + error)
    return Promise.reject(error)
  }
)

export default request
